Method and system for bridging and routing offload in a multiport wireless system

ABSTRACT

Aspects of a method and system for bridging and routing offload in a multiport wireless system are presented. Various aspects of the system may include a wireless network interface subsystem that enables transcoding of at least a portion of a data packet received by the wireless network interface subsystem. The wireless network interface subsystem may enable transfer of the transcoded portion of the data packet from the wireless network interface subsystem to a wired network interface subsystem that is communicatively coupled thereto. The transcoded portion of the data packet may be compliant with a format utilized by the wired network interface subsystem.

CROSS-REFERENCE TO RELATED APPLICATIONS/INCORPORATION BY REFERENCE

The present U.S. Utility patent application claims priority pursuant to 35 U.S.C. §120, as a continuation, to U.S. Utility application Ser. No. 11/454,207, entitled “Method and System for Bridging and Routing Offload in a Multiport Wireless System,” filed Jun. 16, 2006, pending, which is hereby incorporated herein by reference in its entirety and made part of the present U.S. Utility patent application for all purposes:

FIELD OF THE INVENTION

Certain embodiments of the invention relate to wireless communication. More specifically, certain embodiments of the invention relate to a method and system for bridging and routing offload in a multiport wireless system.

BACKGROUND OF THE INVENTION

A portal device may receive and/or transmit information via a wireless network, for example a wireless local area network (WLAN) and/or a wireless wide area network (WAN), and/or via a wired network, for example a wired local area network (LAN), viand/or a wired WAN. Within the portal device, a wireless network interface subsystem, for example a WLAN network interface card (NIC), may enable the portal device to be communicatively coupled to a wireless network, while a wired network interface subsystem, for example a LAN NIC or a WAN NIC, may enable the portal device to be communicatively coupled to a wired network. The wireless network interface subsystem may receive and/or transmit wireless network frames, for example WLAN frames, from and/or to a wireless network. The wired network interface subsystem may receive and/or transmit wired network frames, for example LAN frames, from and/or to a wired network. The wireless network frame may comprise a service data unit (SDU) and a wireless network header, for example an IEEE 802.11 header. The SDU may comprise information being communicated, via one or more networks, between a source terminal device and a destination terminal device. Personal computers, personal digital assistants (PDAs), and WLAN stations are exemplary terminal devices, which may be communicatively coupled via one or more networks. The wired network frame may comprise an SDU and a wired network header, for example an IEEE 802.3 header. The portal may enable reception of a wireless network frame via a wireless network with subsequent transmission of a corresponding wired network frame via a wired network. The portal may also enable reception of a wired network frame via a wired network with subsequent transmission of a corresponding wireless network frame via a wireless network. When the wired network and the wireless network are logically associated with a common network, the transfer of frames between the wired network and wireless network may be referred to as bridging. When the wired network and the wireless network are logically associated with different networks, the transfer of frames between the wired network and the wireless network may be referred to as routing. Bridging and/or routing may comprise functionality that enables contents within a wired network header and/or SDU to be converted to form contents for a corresponding wireless network header and/or SDU. The conversion may be referred to as transcoding. Similarly, bridging and/or routing may comprise functionality that enables a wireless network header and/or SDU to be transcoded to form a corresponding wired network header and/or SDU.

In some conventional portal devices, a host processor may perform a bridging and/or routing function. The host processor may enable execution of a routing protocol, for example open shortest path first (OSPF), and/or a bridging protocol, for example a spanning tree algorithm, to determine a network interface subsystem, which is to be utilized for transmitting at least a portion of a received frame via a corresponding network. The host processor may retrieve a header portion of a received wireless network frame from a wireless network interface subsystem. The host processor may determine that at least a portion of the received wireless network frame is to be transmitted via a wired network interface subsystem. The host processor may transcode the wireless network header and/or SDU to form a corresponding wired network header and/or SDU. The host processor may then instruct the wireless network interface subsystem to transfer the transcoded frame, comprising at least a portion of the SDU from the received wireless network frame and the corresponding wired network header, to the wired network interface subsystem. The wired network interface subsystem may subsequently transmit the transcoded frame via a wired network. Similarly, the host processor may retrieve a header portion of a received wired network frame from a wired network interface subsystem. The host processor may determine that at least a portion of the received wired network frame is to be transmitted via a wireless network interface subsystem. The host processor may transcode the wired network header and/or SDU to form a corresponding wireless network header and/or SDU. The host processor may then instruct the wired network interface subsystem to transfer the transcoded frame, comprising at least a portion of the SDU from the received wired network frame and the corresponding wireless network header, to the wireless network interface subsystem. The wireless network interface subsystem may subsequently transmit the transcoded frame via a wireless network. One limitation for this approach is that the wireless network interface subsystem may be required to buffer one or more received wireless network frames while the host processor makes bridging and/or routing determinations for a current received wireless network frame, and transcodes the associated wireless network header based on the bridging and/or routing determinations.

Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.

BRIEF SUMMARY OF THE INVENTION

The present invention is directed to apparatus and methods of operation that are further described in the following Brief Description of the Drawings, the Detailed Description of the Invention, and the claims. Other features and advantages of the present invention will become apparent from the following detailed description of the invention made with reference to the accompanying drawings.

BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a block diagram of an exemplary system for wireless data communications, which may be utilized in connection with an embodiment of the invention.

FIG. 2 is a block diagram of an exemplary wireless transceiver system that may be utilized in connection with an embodiment of the invention.

FIG. 3 is a block diagram of an exemplary system for bridging and routing in a multiport system comprising at least one wireless port, in accordance with an embodiment of the invention.

FIG. 4 is a diagram illustrating exemplary frame header transcoding, in accordance with an embodiment of the invention.

FIG. 5 is a flowchart illustrating exemplary steps for bridging and routing in a multiport wireless system, in accordance with an embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

Certain embodiments of the invention relate to a method and system for bridging and routing offload in a multiport wireless system. Various embodiments of the invention may provide bridging and/or routing offload, which may enable a network interface subsystem to perform a bridging and/or routing function that may be performed by a host processor in some conventional portal devices. Bridging and/or routing offload may enable a wireless network interface subsystem, for example, to receive a wireless network frame via a wireless network and determine an outgoing wired network interface subsystem or wireless network interface subsystem to be utilized for transmitting at least a portion of the received wireless network frame. The wireless network interface subsystem may generate a corresponding header by transcoding the wireless network header and/or SDU in the received wireless network frame based on the determination. The wireless network interface subsystem may subsequently transfer the transcoded frame, comprising at least a portion of the SDU from the received wireless network frame and the corresponding header, to the outgoing wired network interface subsystem or wireless network interface subsystem based on the determination. Various embodiments of the invention may enable a wireless network interface subsystem to achieve higher data transfer rates for bridging and/or routing in comparison to some conventional wireless network interface subsystem. Various embodiments of the invention may also reduce buffering requirements in comparison to some conventional wireless network interface subsystems.

FIG. 1 is a block diagram of an exemplary system for wireless data communications, which may be utilized in connection with an embodiment of the invention. With reference to FIG. 1, there is shown a distribution system (DS) 110, an extended service set (ESS) 120, and an IEEE 802 LAN or WAN 122. The ESS 120 may comprise a first basic service set (BSS) 102, and a second BSS 112. The first BSS 102 may comprise a first 802.11 WLAN station 104, a second 802.11 WLAN station 106, and an access point (AP) 108. The second BSS 112 may comprise a first 802.11 WLAN station 114, a second 802.11 WLAN station 116, and an access point (AP) 118. The IEEE 802 LAN 122 or WAN may comprise a LAN or WAN station 124, and a portal 126. An IEEE 802.11 WLAN station, or IEEE 802.11 WLAN device, is a WLAN system that may be compliant with at least a portion of the IEEE 802.11 standard.

A WLAN is a communications networking environment that comprises a plurality of WLAN devices that may communicate wirelessly via one or more uplink and/or downlink RF channels. The BSS 102 or 112 may be part of an IEEE 802.11 WLAN that comprises at least 2 IEEE 802.11 WLAN stations, for example, the first 802.11 WLAN station 104, the second 802.11 WLAN station 106, and the AP 108, which may be members of the BSS 102. Non-AP stations within BSS 102, the first 802.11 WLAN station 104, and the second 802.11 WLAN station 106, may individually form an association with the AP 108. An AP, such as AP 108, may be implemented as an Ethernet switch, bridge, or other device in a WLAN, for example. Similarly, non-AP stations within BSS 112, the first 802.11 WLAN station 114, and the second 802.11 WLAN station 116, may individually form an association with the AP 118. Once an association has been formed between a first 802.11 WLAN station 104 and an AP 108, the AP 108 may communicate reachability information about the first 802.11 WLAN station 104 to other APs associated with the ESS 120, such as AP 118, and portals such as the portal 126. The WLAN station 104 may subsequently communicate information wirelessly via the BSS 102. In turn, the AP 118 may communicate reachability information about the first 802.11 WLAN station 104 to stations in BSS 112. The portal 126, which may be implemented as, for example, an Ethernet switch or other device in a LAN, may communicate reachability information about the first 802.11 WLAN station 104 to stations in LAN or WAN 122 such as the 802 LAN or WAN station 124. The communication of reachability information about the first 802.11 WLAN station 104 may enable WLAN stations that are not in BSS 102, but are associated with ESS 120, to communicate wirelessly with the first 802.11 WLAN station 104 through ESS 120.

The DS 110 may provide an infrastructure which enables a first 802.11 WLAN station 104 in one BSS 102, to communicate wirelessly with a first 802.11 WLAN station 114 in another BSS 112. The DS 110 may also enable a first 802.11 WLAN station 104 in one BSS 102 to communicate with an 802 LAN or WAN station 124 in an IEEE 802 LAN or WAN 122, implemented as, for example a wired LAN or WAN. The AP 108, AP 118, or portal 126 may provide a means by which a station in a BSS 102, BSS 112, or LAN or WAN 122 may communicate information via the DS 110. The first 802.11 WLAN station 104 in BSS 102 may communicate information wirelessly to a first 802.11 WLAN station 114 in BSS 112 by transmitting the information wirelessly to AP 108, which may transmit the information via the DS 110 to AP 118, which in turn may transmit the information wirelessly to station 114 in BSS 112. The first 802.11 WLAN station 104 may communicate information wirelessly to the 802 LAN or WAN station 124 in LAN or WAN 122 by transmitting the information wirelessly to AP 108, which may transmit the information via the DS 110 to the portal 126, which in turn may transmit the information to the 802 LAN or WAN station 124 in LAN or WAN 122. The DS 110 may utilize wireless communications via an RF channel, wired communications, such as IEEE 802.3 or Ethernet, or a combination thereof.

A WLAN station, such as 104, 114, or AP, such as 108, 118, may utilize one or more transmitting antennas, and one or more receiving antennas when communicating information. A WLAN station or AP that utilizes a plurality of transmitting antennas and/or a plurality of receiving antennas may be referred to as a multiple input multiple output (MIMO) system.

FIG. 2 is a block diagram of an exemplary wireless transceiver system that may be utilized in connection with an embodiment of the invention. The wireless transceiver may be utilized in connection with a portal 126, an access point 106, and/or an 802.11 WLAN station 104, for example. An exemplary embodiment of a transceiver may be a wireless network interface subsystem. With reference to FIG. 2 there is shown a transceiver 274, an RF front end 280, one or more receiving antennas 276 a, . . . , 276 n, and one or more transmitting antennas 278 a, . . . , 278 n. The transceiver 274 may comprise a processor 282, memory 272, a receiver 284, and a transmitter 286.

The processor 282 may perform digital receiver and/or transmitter functions in accordance with applicable communications standards. These functions may comprise, but are not limited to, tasks performed at lower layers in a relevant protocol reference model. These tasks may further comprise the physical layer convergence procedure (PLCP), physical medium dependent (PMD) functions, and associated layer management functions. These tasks may further comprise medium access control (MAC) layer functions as specified by pertinent standards.

The memory 272 may comprise suitable logic, circuitry, and/or code that may be utilized to enable storage and/or retrieval of data and/or code. Stored code may, for example, comprise an implementation for a bridging and/or routing protocol. Stored data may, for example, comprise data compiled based on execution of code for a routing and/or bridging protocol. Stored data may also comprise received data, and/or data to be transmitted. Retrieved data and/or code may be assigned physical resources within the memory 272 for the storage. The stored data and/or code may be subsequently available for retrieval. Retrieved data and/or code may be output by the memory 272 and communicated to other devices, components, and/or subsystems that may be communicatively coupled, directly and/or indirectly, to the memory 272. The memory 272 may enable the stored data and/or code to remain stored and/or available for subsequent retrieval until the resources allocated for the storage are deallocated. Physical resources may be deallocated based on a received instruction that the stored data and/or code be erased from the memory 272, or based on a received instruction that the physical resources be allocated for the storage of subsequent data and/or code. The memory may utilize a plurality of storage medium technologies such as volatile memory, for example, random access memory (RAM), and/or nonvolatile memory, for example, electrically erasable programmable read only memory (EEPROM).

The receiver 284 may perform digital receiver functions that may comprise, but are not limited to, fast Fourier transform processing, beamforming processing, equalization, demapping, demodulation control, deinterleaving, depuncture, and decoding. The transmitter 286 may perform digital transmitter functions that comprise, but are not limited to, coding, puncture, interleaving, mapping, modulation control, inverse fast Fourier transform processing, beamforming processing. The RF front end 280 may receive analog RF signals via the one or more antennas 276 a, . . . , 276 n, by converting the RF signal to baseband and generating a digital equivalent of the received analog baseband signal. The RF front end 280 may also transmit analog RF signals via an antenna 278 a, . . . , 278 n, by converting a digital baseband signal to an analog RF signal.

In operation, the processor 282 may receive data from the receiver 284. The processor 282 may communicate received data to the memory 272 for storage. The processor 282 may enable retrieval of data from the memory 272 to be transmitted via an RF channel by the transmitter 286. The memory 272 may communicate the data to the processor 282. The processor 282 may generate signals to control the operation of the modulation process in the transmitter 286, and of the demodulation process in the receiver 284.

FIG. 3 is a block diagram of an exemplary system for bridging and routing in a multiport system comprising at least one wireless port, in accordance with an embodiment of the invention. Referring to FIG. 3, there is shown a host processor 302, a memory 272, a wired network interface subsystem 304, a wireless network interface subsystem 306, a wired network 308, and a wireless network 310. The memory 272 may be as described in FIG. 2.

The wired network 308 may comprise functionality substantially as described for the IEEE 802 LAN or WAN 122 (FIG. 1). The wireless network 310 may comprise functionality substantially as described for the distribution system 110 and/or the basic service set 102. The wireless network interface subsystem 306 may comprise functionality substantially as described for the transceiver 274 (FIG. 2).

The host processor 302 may comprise suitable logic, circuitry, and/or code that may enable execution of bridging and/or routing protocols. The host processor 302 may also enable transcoding of header information in received wired network frames or wireless network frames. The host processor 302 may comprise a bridge or router function 302 a, a wired network driver function 302 b, and a wireless network driver function 302 c. The bridge or router function 302 a may comprise suitable logic, circuitry, and/or code that may enable the execution of bridging and/or routing protocols within the host processor 302. A portion of the code may be retrieved from, and/or stored to, the memory 272. The bridge or router function 302 a may enable a host processor 302 to select an outgoing network interface subsystem based on header information contained in a received wired network frame or wireless network frame. The outgoing network interface subsystem may be determined based on the bridging and/or routing protocols. The selected outgoing network interface subsystem may transmit at least a portion of the received frame via a wired network or wireless network, for example.

The wired network driver function 302 b may comprise suitable logic, circuitry, and/or code that may enable the transcoding of a wired network header and/or SDU in a received wired network frame to generate a corresponding wireless network header and/or SDU. The wired network driver function 302 b may enable the host processor 302 to receive at least a portion of a received wired network frame. The wired network frame may be received via a wired network interface subsystem 304. The received portion of the received wired network frame may comprise a wired network header, for example. The received wired network header may be communicated to the bridge or router function 302 a. The bridge or router function 302 a may select an outgoing wireless network interface subsystem based on the header information. The bridge or router function 302 a may communicate the wired network header to a wireless network driver function 302 c corresponding to the selected outgoing network interface subsystem. The wireless network driver function 302 c associated with the outgoing network interface subsystem may transcode the wired network header and/or SDU from the received wired network frame to generate a corresponding wireless network header and/or SDU.

The wired network driver function 302 b may also enable a transcoded wired network frame, comprising at least a portion of an SDU from a received wireless network frame and a wired network header generated by transcoding a corresponding wireless network header, to be transferred to an outgoing network interface subsystem. The corresponding wireless network header may have been previously communicated to the bridge or router function 302 a, which subsequently communicated the corresponding wireless network header to the wired network driver function 302 b that performed the transcoding. The wired network driver function 302 b may communicate a request to the wireless network driver 302 c associated with the receiving network interface subsystem that received the wireless network frame. The request may instruct the wireless network driver 302 c to communicate an instruction to the receiving network interface subsystem that will cause the portion of the SDU to be transferred to the outgoing network interface subsystem. The wired network driver function 302 b may transfer the wired network header to the outgoing network interface subsystem.

The wired network driver function 302 b may also enable a wired network interface subsystem to transfer at least a portion of a wired network frame to a subsequent wired network interface subsystem and/or to a wireless network interface subsystem. The transferred portion of the wired network frame may comprise at least a portion of the SDU from a received wired network frame. The wired network driver function 302 b may communicate instructions that cause the wired network interface subsystem to perform the transfer.

The wireless network driver function 302 c may comprise suitable logic, circuitry, and/or code that may enable the transcoding of a wireless network header and/or SDU in a received wireless network frame to generate a corresponding wired network header and/or SDU. The wireless network driver function 302 c may enable the host processor 302 to receive at least a portion of a received wireless network frame. The wireless network frame may be received via a wireless network interface subsystem. The received portion of the received wireless network frame may comprise a wireless network header, for example. The received wireless network header may be communicated to the bridge or router function 302 a. The bridge or router function 302 a may select an outgoing wired network interface subsystem based on the header information. The bridge or router function 302 a may communicate the wireless network header to a wired network driver function 302 c corresponding to the selected outgoing network interface subsystem. The wired network driver function 302 b associated with the outgoing network interface subsystem may transcode the wireless network header and/or SDU from the received wireless network frame to generate a corresponding wired network header and/or SDU.

The wireless network driver function 302 c may also enable a transcoded wireless network frame, comprising at least a portion of an SDU from a received wired network frame and a wireless network header generated by transcoding a corresponding wired network header, to be transferred to an outgoing network interface subsystem. The corresponding wired network header may have been previously communicated to the bridge or router function 302 a, which subsequently communicated the corresponding wired network header to the wireless network driver function 302 c that performed the transcoding. The wireless network driver function 302 c may communicate a request to the wired network driver 302 b associated with the network interface subsystem that received the wired network frame. The request may instruct the wired network driver 302 b to communicate an instruction to the receiving network interface subsystem that will cause the portion of the SDU to be transferred to the outgoing network interface subsystem. The wireless network driver function 302 c may transfer the wireless network header to the outgoing network interface subsystem.

The wireless network driver function 302 c may also enable a wireless network interface subsystem to transfer at least a portion of a wireless network frame to a subsequent wireless network interface subsystem and/or to a wired network interface subsystem. The transferred portion of the wired network frame may comprise at least a portion of the SDU from a received wireless network frame. The wireless network driver function 302 c may communicate instructions that cause the wireless network interface subsystem to perform the transfer.

The wired network interface subsystem 304 may comprise suitable logic, circuitry, and/or code that may enable transmitting and receiving of wired network frames via a wired network 308. The wired network interface subsystem 304 may also enable communication of wired network frames to/from a host processor 302. The wired network interface subsystem 304 may also enable communication of wired network frames to/from a wireless network interface subsystem 306, or to/from a subsequent wired network interface subsystem. The wired network interface subsystem 304 may comprise an input buffer 304 c, and an output buffer 304 b. The output buffer 304 b may be utilized to store wired network frames 304 a that are to be transmitted via the wired network 308. The input buffer 304 c may be utilized to store wired network frames that are being received via the wired network 308.

The wireless network interface subsystem 306 may comprise suitable logic, circuitry, and/or code that may enable transmitting and receiving of wireless network frames via a wireless network 310. The wireless network interface subsystem 306 may also enable communication of wireless network frames to/from a host processor 302. The wireless network interface subsystem 306 may also enable communication of wireless network frames to/from a wired network interface subsystem 304, or to/from a subsequent wireless network interface subsystem. The wireless network interface subsystem 306 may comprise an input buffer 306 c, and an output buffer 306 d. The input buffer 306 c may be utilized to store wireless network frames 306 b that are to being received via the wireless network 310. The output buffer 306 d may be utilized to store wireless network frames that are being transmitted via the wireless network 310.

The wireless network interface subsystem 306 may also comprise a wireless network MAC function 306 a. The wireless network MAC function 306 a may comprise MAC layer functionality according to IEEE 802.11 specifications. In various embodiments of the invention, the wireless network MAC function 306 a may also comprise at least a portion of bridging and/or routing functionality. The wireless network MAC function 306 a may enable the wireless network interface subsystem 306 to determine an outgoing network interface subsystem for a received wireless network frame 306 b based on the corresponding wireless network header. The wireless network MAC function 306 a may also enable the wireless network interface subsystem 306 to transcode the corresponding wireless network header and/or SDU to generate a wired network header and/or SDU when the outgoing network interface subsystem comprises functionality for a wired network interface subsystem 304. The wireless network MAC function 306 a may enable the wireless network interface subsystem 306 to transfer the transcoded wired network frame, comprising at least a portion of the SDU from the received wireless network frame and the generated wired network header, to a wired network interface subsystem 304, and/or subsequent wireless network interface subsystem.

In an operation for transcoding of a wired network frame to generate a corresponding wireless network frame in a conventional portal device 126, a wired network interface subsystem 304 may receive a wired network frame via a wired network 308. The wired network frame may be stored in the input buffer 304 c. The wired network driver function 302 b may enable at least the header portion of the received wired network frame to be retrieved from the input buffer 304 c, and communicated to the bridge or router function 302 a as indicated in label A (FIG. 3). The bridge or router function 302 a may determine that at least a portion of the received wired network frame is to be transmitted by the wireless network interface subsystem 306 via the wireless network 310. The bridge or router function 302 a may communicate the wired network header from the received wired network frame to the wireless network driver function 302 c. The wireless network driver function 302 c may be associated with the wireless network interface subsystem 306. The wireless network driver function 302 c may transcode the wired network header and/or SDU to generate a corresponding wireless network header and/or SDU. The wireless network driver function 302 c may communicate the corresponding wireless network header to the wireless network interface subsystem 306. The corresponding wireless network header may be stored in the output buffer 306 d. The wireless network driver function 302 c may communicate a request to the wired network driver function 302 b. The request may instruct the wired network driver function 302 b to communicate instructions that cause the wired network interface subsystem 304 to transfer at least a portion of the received wired network frame from the input buffer 304 c to the output buffer 306 d within the wireless network interface subsystem 306. The portion of the received wired network frame may comprise at least a portion of the SDU portion of the received wired network frame. A wireless network frame may be generated comprising the generated wireless network header and at least a portion of the received wired network frame transferred from the input buffer 304 c. The wireless network MAC function 306 a may enable the generated wireless network frame to be retrieved from the output buffer 306 d, and subsequently transmitted via the wireless network 310.

In an operation for transcoding of a wireless network frame to generate a corresponding wired network frame in a conventional portal device 126, a wireless network interface subsystem 306 may receive a wireless network frame 306 b via a wireless network 310. The wireless network MAC function 306 a may enable the received wireless network frame 306 b to be stored in the input buffer 306 c. The wireless network driver function 302 c may enable at least the header portion of the received wireless network frame 306 b to be retrieved from the input buffer 306 c, and communicated to the bridge or router function 302 a as indicated in label B (FIG. 3). The bridge or router function 302 a may determine that at least a portion of the received wireless network frame 306 b is to be transmitted by the wired network interface subsystem 304 via the wired network 308. The bridge or router function 302 a may communicate the wireless network header from the received wireless network frame 306 b to the wired network driver function 302 b. The wired network driver function 302 b may be associated with the wired network interface subsystem 304. The wired network driver function 302 b may transcode the wireless network header and/or SDU to generate a corresponding wired network header and/or SDU. The wired network driver function 302 b may communicate the corresponding wired network header to the wired network interface subsystem 304. The corresponding wired network header may be stored in the output buffer 304 b. The wired network driver function 302 b may communicate a request to the wireless network driver function 302 c. The request may instruct the wireless network driver function 302 c to communicate instructions that cause the wireless network interface subsystem 306 to transfer at least a portion of the received wireless network frame 306 b from the input buffer 306 c to the output buffer 304 b within the wired network interface subsystem 304. The portion may comprise at least a portion of the SDU portion of the received wireless network frame 306 b. A wired network frame may be generated comprising the generated wired network header and at least a portion of the received wireless network frame 306 b transferred from the input buffer 306 c. The wired network interface subsystem 304 may retrieve the generated wired network frame from the input buffer 304 b. The wired network interface subsystem 304 may subsequently transmit the generated wired network frame 304 a via the wired network 308.

In an embodiment of the invention, an operation for transcoding of a wireless network frame to generate a corresponding wired network frame in a portal device 126 may be performed by a wireless network interface subsystem 306 that receives a wireless network frame 306 b via a wireless network 310. The wireless network MAC function 306 a may determine whether at least a portion of the received wireless network frame 306 b is to be transmitted by the wired network interface subsystem 304 via the wired network 308. The wireless network MAC function 306 a may enable transcoding of the wireless network header and/or SDU to generate a corresponding wired network header and/or SDU. A wired network frame may be generated that comprises the generated wired network header and at least a portion of the received wireless network frame 306 b. The portion of the received wireless network frame 306 b may comprise at least a portion of the SDU portion of the received wireless network frame 306 b. The wireless network MAC function 306 a may cause the generated wired network frame to be transferred to the output buffer 304 b within the wired network interface subsystem 304. The wired network interface subsystem 304 may retrieve the generated wired network frame from the input buffer 304 b. The wired network interface subsystem 304 may subsequently transmit the generated wired network frame 304 a via the wired network 308.

In one aspect of the invention, the host processor 302 may compile one or more databases based on one or more routing and/or bridging protocols. The databases may be stored in the memory 272. The databases may be utilized by the bridge or router function 302 a when making routing and/or bridging determinations. The host processor 302 may communicate information from the databases to the wireless network interface subsystem 306. The communicated information may enable the wireless network MAC function 306 a to make routing and/or bridging determinations. The communicated information may also be utilized for transcoding a wireless network header and/or SDU portion of a received wireless network frame 306 b to generate a corresponding wired network header and/or SDU. The host processor 302 may communicate subsequent information to the wireless network interface subsystem 306 when information in the one or more databases is modified, or when additional information is added to the one or more databases.

FIG. 4 is a diagram illustrating exemplary frame header transcoding, in accordance with an embodiment of the invention. Referring to FIG. 4, there is shown a received wireless network frame 402, a wireless network interface subsystem 306, and a transmitted wired network frame 404. The received wireless network frame 402 may comprise a MAC SDU portion 402 a, and an IEEE 802.11 header portion 402 b. The transmitted wired network frame 404 may comprise a MAC SDU portion 404 a, and a wired network header portion 404 b. The wireless network interface subsystem 306 may be as described in FIG. 3. The MAC SDU 402 a may correspond to an SDU portion of a received wireless network frame 306 b (FIG. 3). The IEEE 802.11 header may correspond to a wireless network header of the received wireless network frame 306 b. The MAC SDU 404 a may correspond to an SDU portion of a generated wired network frame 304 a. The wired network header 404 b may correspond to a generated wired network header of the generated wired network frame 304 a.

In operation, the received wireless network frame 402 may be received by the wireless network interface subsystem 306 from a wireless network 310. The wireless network interface subsystem 306 may transcode the IEEE 802.11 header 402 b and/or SDU to generate a corresponding wired network header 404 b and/or SDU. The wireless network interface subsystem 306 may generate a wired network frame 404 that comprises at least a portion of the MAC SDU 402 a, and the corresponding wired network header 404 b. The portion of the MAC SDU 402 a may be utilized by the wireless network interface subsystem 306 to generate at least a portion of the MAC SDU 404 a. The wireless network interface subsystem 306 may transmit the wired network frame 404 to a wired network 308.

FIG. 5 is a flowchart illustrating exemplary steps for bridging and routing in a multiport wireless system, in accordance with an embodiment of the invention. Referring to FIG. 5, in step 502 a wireless network frame 306 b may be received at a wireless network interface subsystem 306 from a wireless network 310. In step 504, the wireless network interface subsystem 306 may inspect the header portion of the wireless network frame 306 b to determine a destination network interface subsystem. The destination network interface subsystem may be utilized for transmitting at least a portion of the received wireless network frame 306 b.

In step 506, the wireless network interface subsystem 306 may determine whether the destination network interface subsystem is communicatively coupled to a wireless network 310. In instances where the destination network interface subsystem is determined to be communicatively coupled to a wireless network 310, in step 508, the wireless network interface subsystem 306 may determine whether the destination network interface subsystem is the wireless network interface subsystem 306 that received the wireless network frame 306 b. In instances where the destination network interface subsystem is the wireless network interface subsystem 306, in step 510 the wireless network interface subsystem 306 may transmit the received wireless network frame via the wireless network 310. When the destination network interface subsystem is a subsequent wireless network interface subsystem, in step 512, the wireless network interface subsystem 306 may transfer the wireless network frame 306 b to the subsequent wireless network interface subsystem.

When the destination network interface subsystem is not determined in step 506 to be communicatively coupled to a wireless network, in step 513, the wireless network interface subsystem 306 may determine whether the destination network interface subsystem is communicatively coupled to a wired network 308. When the destination network interface subsystem is determined in step 513 to be communicatively coupled to a wired network, in step 514 the wireless network header and/or SDU in the wireless network frame 306 b may be transcoded to generate a wired network header and/or SDU, by the wireless network interface subsystem 306. In step 516, a wired network frame 304 a may be generated by the wireless network interface subsystem 306 that comprises the generated wired network header and at least a portion of the SDU portion of the received wireless network frame 306 b. The generated wired network frame 304 a may be transferred by the wireless network interface subsystem 306 to an output buffer 304 b in a wired network interface subsystem 304.

When the destination network interface subsystem is determined in step 513 to be communicatively coupled to a wired network, in step 514 the wireless network header and/or SDU in the wireless network frame 306 b may be transcoded to generate a wired network header and/or SDU by the wireless network interface subsystem 306. In step 516, a wired network frame 304 a may be generated by the wireless network interface subsystem 306 that comprises the generated wired network header, and at least a portion of the SDU portion of the received wireless network frame 306 b. The generated wired network frame 304 a may be transferred by the wireless network interface subsystem 306 to an output buffer 304 b in a wired network interface subsystem 304.

When the destination network interface subsystem is not determined to be communicatively coupled to a wired network in step 513, in step 515, the received data frame may be transferred by the wireless network interface subsystem 306 to the wireless network driver 302 c within the host processor 302.

Aspects of a method and system for bridging and routing offload in a multiport wireless system are presented. Various aspects of the system may include a wireless network interface subsystem that enables transcoding of at least a portion of a data packet received by the wireless network interface subsystem. The wireless network interface subsystem may enable transfer of the transcoded portion of the data packet from the wireless network interface subsystem to a wired network interface subsystem that is communicatively coupled thereto. The transcoded portion of the data packet may be compliant with a format utilized by the wired network interface subsystem.

Various aspects of a system for bridging and routing offload in a multiport wireless system may comprise a wireless network interface subsystem 306 that enables transcoding of at least a portion of data packets received by the wireless network interface subsystem 306. An exemplary data packet may comprise a wireless network frame 306 b. The wireless network interface subsystem 306 may enable transfer of the transcoded portion of the data packet from the wireless network interface subsystem 306 to a wired network interface subsystem 304 that is communicatively coupled thereto. The transcoded portion of the data packet may be compliant with a format utilized by the wired network interface subsystem 304.

The wireless network interface subsystem 306 may be communicatively coupled to at least one wireless network 310. The wired network interface subsystem 304 may be communicatively coupled to at least one wired network 308. A portal device 126 may comprise at least one wireless network interface subsystem 306, and at least one wired network interface subsystem 304. The wireless network interface subsystem 306 may enable reception of information from a host processor 302 that is utilized by the wireless network interface subsystem 306 for selecting the wired network interface subsystem 304.

The portion of the data packet may comprise an IEEE 802.11 header portion 402 b of the received wireless network frame 402. The wireless network interface subsystem 306 may enable generation of a wired network header 404 b based on a transcoded version of the IEEE 802.11 header portion 402 b. The wireless network interface subsystem 306 may enable generation of the transcoded version of the received data packet by combining the generated wired network header 404 b and at least a portion of the remaining portion of the MAC SDU 402 a.

Accordingly, the present invention may be realized in hardware, software, or a combination of hardware and software. The present invention may be realized in a centralized fashion in at least one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software may be a general-purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.

The present invention may also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which when loaded in a computer system is able to carry out these methods. Computer program in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to another language, code or notation; b) reproduction in a different material form.

While the present invention has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the present invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the present invention without departing from its scope. Therefore, it is intended that the present invention not be limited to the particular embodiment disclosed, but that the present invention will include all embodiments falling within the scope of the appended claims. 

1. A method for processing signals in a communication system comprising: receiving a medium access control (MAC) layer data packet at a wireless network interface subsystem of the communication system; determining that at least a portion of the received MAC layer data packet is to be communicated from the communication system via a wired network; transcoding at least a portion of the received MAC layer data packet; and transferring the transcoded received MAC layer data packet from the wireless network interface subsystem to a wired network interface subsystem by direct access of memory buffers of the wired network interface subsystem by the wireless network interface subsystem.
 2. The method according to claim 1, wherein the wireless network interface subsystem is communicatively coupled to at least one wireless network.
 3. The method according to claim 1, wherein the wired network interface subsystem is communicatively coupled to at least one wired network.
 4. The method according to claim 1, wherein the transcoding is performed within the wireless network interface subsystem.
 5. The method according to claim 1, wherein the MAC layer data packet comprises a header and data.
 6. The method according to claim 5, further comprising generating a wired network header based on a transcoded version of the header of the MAC layer data packet.
 7. The method according to claim 6, further comprising generating the transcoded version of the received MAC layer data packet by combining the generated wired network header and at least a portion of the data.
 8. A tangible computer readable medium having stored thereon, a computer program having at least one code section for processing signals in a communication system, the at least one code section being executable by a computer for causing the computer to perform operations comprising: receiving a medium access control (MAC) layer data packet at a wireless network interface subsystem of the communication system; determining that at least a portion of the received MAC layer data packet is to be communicated from the communication system via a wired network; transcoding at least a portion of the received MAC layer data packet; and transferring the transcoded received MAC layer data packet from the wireless network interface subsystem to a wired network interface subsystem by direct access of memory buffers of the wired network interface subsystem by the wireless network interface subsystem.
 9. The tangible computer readable medium according to claim 8, wherein the wireless network interface subsystem is communicatively coupled to at least one wireless network.
 10. The tangible computer readable medium according to claim 8, wherein the wired network interface subsystem is communicatively coupled to at least one wired network.
 11. The tangible computer readable medium according to claim 8, wherein the transcoding is performed within the wireless network interface subsystem.
 12. The tangible computer readable medium according to claim 8, wherein the MAC layer data packet comprises a header and data.
 13. The tangible computer readable medium according to claim 12, wherein the at least one code section comprises code for generating a wired network header based on a transcoded version of the header of the MAC layer data packet.
 14. The tangible computer readable medium according to claim 13, wherein the at least one code section comprises code for generating the transcoded version of the received MAC layer data packet by combining the generated wired network header and at least a portion of the data.
 15. A system for processing signals in a communication system, the system comprising: a wireless network interface subsystem within a multipart communication system that is operable to receive a medium access control (MAC) layer data packet at a wireless network interface subsystem of the communication system; processing circuitry operable to determine that at least a portion of the received MAC layer data packet is to be communicated from the communication system via a wired network; transcoding circuitry operable to transcode at least a portion of the received MAC layer data packet; and the wireless network interface operable to transfer the transcoded received MAC layer data packet from the wireless network interface subsystem to a wired network interface subsystem by direct access of memory buffers of the wired network interface subsystem by the wireless network interface subsystem.
 16. The system according to claim 15, wherein wireless network interface subsystem communicatively coupled to at least one wireless network.
 17. The system according to claim 15, wherein the wired network interface subsystem communicatively coupled to at least one wired network.
 18. The system according to claim 15, wherein the transcoding circuitry forming a portion of the wireless network interface subsystem.
 19. The system according to claim 15, wherein the at least a portion of the MAC layer data packet comprises a header and data.
 20. The system according to claim 19, wherein the transcoding generates a wired network header based on a transcoded version of the header of the MAC layer data packet. 